<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="style.css" />
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery-ui.min.js"></script>
<script type="text/javascript">
	$(function(){
  		$("#draggable").draggable();
	});
</script>
<title>PHP Lessons</title>
</head>
    <body>
        <div id="draggable" class="block2">
			<p style="color:#666666;">Drag me</p>
			<input name="form" type="text" value="My name is form" style="color:#999999;" />
			<input name="botton" type="button" value="Klick me" style="color:#333333;" />
		</div>
        <div id="block">
			<span id="text_red">Свічі:</span><br><br>
			<?php
			//phpinfo(); exit; інформація про php
            $a = 'Саша';
            switch($a){
                case 'Саша';
                    echo $a.' Філюк';
                break;
                case 'Коля';
                    echo $a.' Оніщук';
                break;
            }
            ?>
        </div>
        <div id="block">
        	<span id="text_red">Масиви:</span><br><br>
			<?php
                $masiv = array(
						1=>'Саша',
						2=>'Коля',
						3=>'Вася',
						4=>'Стася',
						5=>'Маша',
						6=>'Жора',
						7=>'Бодя',
						8=>'Надя',
						9=>'Паша',
						10=>'Дуся'
				);
                for($i=1;$i<=10;$i++){
                    echo $masiv[$i];
                    if($i<10){
                        echo ",\r\n";
                    }else{
                        echo ".\n";
                    }
                }
                ?>
        </div>
        <div id="block">
        	<span id="text_red">Асоціативні масиви:</span><br><br>
			<?php
                $masiv2 = array(
					'Сало' =>'35.00',
					'Цибуля'=>'7.50',
					'Яйця'=>'7.20',
					'Молока'=>'6.50',
					'Цукор'=>'9.00'
				);
                foreach($masiv2 as $produkt=>$cena){
                    echo "На базарі $produkt по $cena грн.<br>";
                }
            ?>
        </div>
        <div id="block">
        	<span id="text_red">Свої функції:</span><br><br>
			<?php
                function my_function(){
                    echo '<span id="text_red">Моя функція</span><br>'; 
                };
                my_function(); //Визов функції
                function my_function2(){
                    return '<span id="text_blue">Повернення з функції</span><br><br>';
                };
                $ret = my_function2();
                echo $ret;
                function i_f_o($name1, $name2, $name3, $age){
                    return '<span id="text_red">Мене звуть 
							'.$name1.' '.$name2.' '.$name3.' і мені '.$age.'
							років.</span><br><br>';
                };
                $result = i_f_o('Філюк', 'Олександр', 'Андрійович', 21);
                echo $result;
                function time_1(){
                    $c = 100;
                    $b = rand(1,$c);
                    $a = $b*60;
                    return '<span id="text_blue">'.$b.'</span> годин дорівнюють<span id="text_blue"> '.$a.' 
							</span> хвилин<br>';
                };
                $res = time_1($a);
                echo $res;
            ?>
        </div>
        <div id="block">
        	<span id="text_red">Встрояні функції:</span><br><br>
			<?php
                $a = '1000';
                $b = rand(1,$a);
                echo 'Вивід числа <span id="text_red">'.$b.'</span> РАНДОМОМ.<br>';
                $s = 'абвгдеэжзиіїйклмнопрстуфхцшщьюя';
                $p = strpos ($s,"ш",1);
                echo 'Буква <span id="text_red">Ш</span> під номером
					 <span id="text_red">'.$p.'</span> в алфавіті.<br>';
                ?>
            </div>
            <div id="block2">
            <span id="text_red">Встрояні функції2:</span><br><br>
            <?php
                $url_file = file_get_contents('./txt.txt');
                echo $url_file;
            ?>
        </div>
        <div id="block3">
            <div id="block2">
            	<br>
            	<span id="text_red">Падаюча тінь:</span>
                <br>
                <br>
                <span align="center">
                	<?php
                		echo 'Тут гарна падаюча тінь під division\'ом';
					?>
                </span>
                <br>
                <br>
            </div>
            <div id="block4"></div>
        </div>
        <div id="block2">
        	<span id="text_red">Глобальні змінні:</span><br><br>
                <?php
                    $a = 55; //Оголошую змінну і присвоюю їй 55
                    $b = $a;
                    function my_func2(){
                        global $a; //Роблю змінну глобальною
                        $a = $a*256; //присвоюю їй 256
                    };
                    my_func2();
                    echo 'Змінній 
					<span id="text_red">(а)</span> спочатку було присвоєно число 
					<span id="text_red">'.$b.'</span>, після того як вона стала глобальною
					в середині функції її було помножено на 256 і в результаті вона отримала число 
					<span id="text_red">'.$a.'</span>.'; //Вивожу результат лобальної змінної (256)
                ?>
        </div>
        <div id="block2">
        	<span id="text_red">Функції:</span><br><br>
				<?php
                    $md5 = 'sashafela';
                    $result_md5 = md5($md5);
                    echo '<span id="text_blue">ХЕШ</span> сума 
						 <span id="text_blue">MD5</span> слова <span id="text_re">'.$md5.'
						 </span> = <span id="text_red">'.$result_md5.'</span><br>';
                    $trim = '  sashafela  ';
                    $res_trim = trim($trim); //rtim обрізає пробєли з права ltrim з ліва
                    echo 'Функціэю <span id="text_red">(trim)</span> 
						 я обрізав пробєли на початку і в кінці строки 
						 <span id="text_blue">'.$res_trim.'</span><br>';
                    $array = array(
						1=>'Привіт',
						2=>'Як справи',
						3=>'що нового'
					);
                    $result_array = implode (',',$array);
                    echo 'Функцією <span id="text_red">(implode)
						 </span> виведені елементи масиву через 
						 <span id="text_red">(,)</span><br>
						 <span id="text_blue">'.$result_array.'</span><br>';
                    $explode = explode(',',$result_array);
                    echo 'Функцією <span id="text_red">(explode)</span> 
						слова назад загнані в масив <br>';
                    print_r ($explode);
                    $verbludica = 'ПриВіТ вСьоМу СВіТу!';
                    $registr = ucfirst(strtolower($verbludica));
                    echo '<br><br>Вивід строкі <span id="text_red">$verbludica</span>
						 через функцію вирівнювання регістру <span id="text_red">
						 (ucfirst) i (strtolower)</span> <br> результат виводу:<br>
						 <span id="text_red">'.$registr.'</span><br><br>';
                    $text = 'Привіт мене звуть Саша і я графічний дизайнер';
                    $search = 'Саша';
                    $replace = 'Вася';
                    $result = str_replace($search,$replace,$text);
                    $text_lendth = strlen($text);
                    echo 'Функцією <span id="text_red">(str_replace)</span> в строці
						 <span id="text_blue">'.$text.'</span> замінено слово 
						 <span id="text_blue">'.$search.'</span> і в результаті получилась така строчка:<br>
						 <span id="text_red">'.$result.'.</span><br>
						 Довжина строкі '.$text.' <span id="text_red">'.$text_lendth.'</span> символів.';
                ?>
        </div>
        <div id="block2">
        	<span id="text_red">Функції з масивами:</span><br><br>
        	<?php
            	$masiv = array(
					1=>'1',
					2=>'2',
					3=>'3',
					4=>'4',
					5=>'5'
				);
				$result = count($masiv);
				echo 'Функція <span id="text_red">(count)</span>
					 яка виводить кількість елементів в масиві 
					 <span id="text_red">'.$result.'</span><br><br>';
				$masiv2 = array(
					'one'=>'Один',
					'two'=>'Два',
					'three'=>'Три',
					'four'=>'Чотири',
					'five'=>'П\'ять'
				);
				$one = extract($masiv2);
				echo 'Функція <span id="text_red">(extract)</span>
					 яка робить з індекса масиву змінну<br>'.$one;
			?>
        </div>
        <div id="block2">
        	<span id="text_red">Функції з масивами:</span><br><br>
			<pre><?php
            	$masiv = array(
					1=>'1',
					2=>'2',
					3=>'3',
					4=>'4',
					5=>'5'
				);
				$masiv2 = array(
					6=>'6',
					7=>'7',
					8=>'8',
					9=>'9',
					10=>'10'
				);
				$masiv = array_merge($masiv,$masiv2); 
				//функція array_unique видаляэ повторні елементи
                //Функція shuffle прозкідає сортіровку масиву
                //Функція sort сортірує ключі і значення ключів в масиві
                //Функція ksort сортірує масив по ключам
				echo 'Результат обэднання двох масивів:<br>';
				print_r ($masiv);
				echo 'Чи э в масиві (masiv) число '.$masiv[4].'? ';
				if(in_array($masiv[4],$masiv)){
					echo '<span id="text_red">Э</span>';
				}else{
					echo '<span id="text_red">Немаэ</span>';
				};
			?></pre> 
        </div>
        <div id="block2">
        	<span id="text_red">Функції include:</span><br><br>
			<?php
				include('include_file.php'); 
				//Функція require теж саме шо і include тількі перериває роботу скріпта коли файл не знайдений 
				//Функції include_once i require_once дозволяють підключить зовнішній файл лише один раз, шоб не було конфліктів
				include_file();
			?>
        </div>
        <div id="block2">
        	<span id="text_red">Класси:</span><br><br>
			<?php
				require_once('class.class.php');
				$class = new class1();
				echo $class->function2();
				//echo class1::function1(); 
				//цей спосіб визивання методу з классу працює тількі в версіях php5 не меньше
				echo 'Значення змінної <span id="text_blue">(а)</span>
					 в классі = <span id="text_blue">'.$class->a.'</span><br>';
				echo $class->function3();
				echo $class->function4();
			?>
        </div>
        <div id="block2">
        	<span id="text_red">Наслідування:</span><br><br>
			<?php
				require_once('class.class.php');
				$class2 = new class2();
				echo $class2->function_1();		
			?>
        </div>
		<div id="block2">
			<span id="text_red">isset - unset</span><br><br>
			<?php
				$a = 1;
				// isset перевіряє чи є заведена змінна в системі
				// unset відключає змінну
				if(isset($a)){
					echo 'Змінна існує';
				}else{
					echo 'Змінна не існує';
				}
			?>
		</div>
		
	<!--<script type="text/javascript">
			$(document).ready(function(){
				$('input[type=submit]').click('change',function() { 
					if( !$('input[name=agre]').is(":checked")){
						alert("Вибачте але ви не погодились відправити інформацію про себе!");
					}
					else if($('input[type=text]').val()){
						//alert($('input[type=text]').val()); // відсліжує текстові поля
					}
					else{
						alert("Вибачте вле ви не ввели всієї інформації!");
					}
				} );
			});
			</script>-->
		<div id="block2">
			<span id="text_red">Робота з формами</span><br><br>
			<div id="form1">
				<form aciton="index.php" method="post" align="left">
					<input type="text" name="firstname" value="">
					<label id="label_form">Ваше і'мя</label><br>
					<input type="text" name="lastname" value="">
					<label id="label_form">Ваша фамілія</label><br>
					<input type="text" name="login" value="">
					<label id="label_form">Ваш логін</label><br>
					<input type="password" name="password" value="">
					<label id="label_form">Ваш пароль</label><br>
					<label id="label_form" style="margin-left: 3px;">Ваша стать:</label><br>
					<input type="radio" name="state" value="Чоловіча" checked />
					<label id="label_form">Чоловіча</label><br>
					<input type="radio" name="state" value="Жіноча" />
					<label id="label_form">Жіноча</label><br>
					<select name="age" id="label_form">
					<?php
						for($i=1900;$i<=2010;$i++){
							echo '<option value="'.$i.'">'.$i.'</option>';						
						}
					?>
					</select>
					<label id="label_form">Ваш рік народження</label><br>
					<input type="text" name="job" value="" style="width:130px;">
					<label id="label_form">Ким ви працюэте?</label><br>
					<label id="label_form" style="margin-left: 3px;">Про себе:</label><br>
					<textarea name="o_sebe" cols="28" rows="5" style="max-width:240px;max-height: 150px;"></textarea><br>
					<input type="checkbox" name="agre" value="yes">
					<label id="label_form">Я згідний(на) надати цю інформацію?</label><br>
					<input type="submit" name="botton" value="Відправити" id="label_form">
				</form>
			</div>
			<?php
/**
* Функцією $_REQUEST ми виводимо масив якій заповнився результатами з форм
*			
*				echo '<pre style="margin-left: -100px;">';
*				print_r ($_REQUEST);
*				echo '</pre>';
*/
				if( !empty($_REQUEST['firstname'])&&
			!empty($_REQUEST['lastname'])&&
			!empty($_REQUEST['login'])&&
			!empty($_REQUEST['password'])&&
			!empty($_REQUEST['state'])&&
			!empty($_REQUEST['age'])&&
			!empty($_REQUEST['job'])&&
			!empty($_REQUEST['agre'])){
			$state = $_REQUEST['state'];
			if($state == 'Чоловіча'){
				$state = 'чоловік';
			}else{
				$state = 'жінка';
			}
			$age = 2012 - $_REQUEST['age'];
			$amount = 2012 - $_REQUEST['age'];
			for($i=0;$i<$amount;$i++){
				if($amount==1||$amount==21||$amount==31
					||$amount==41||$amount==51){
					$age = 'рік';
				}else if($amount==2||$amount==3||$amount==4||
						$amount==22||$amount==23||$amount==24||
						$amount==32||$amount==33||$amount==34||
						$amount==42||$amount==43||$amount==44){
					$age = 'роки';
				}else if($amount==5||$amount==6||$amount==7||
						$amount==8||$amount==9||$amount==10||
						$amount==11||$amount==12||$amount==13||
						$amount==14||$amount==15||$amount==16||
						$amount==17||$amount==18||$amount==19||
						$amount==20||$amount==25||$amount==26||
						$amount==27||$amount==28|$amount==29||
						$amount==30||$amount==35||$amount==36||
						$amount==37||$amount==38|$amount==39||
						$amount==40||$amount==45||$amount==46||
						$amount==47||$amount==48|$amount==49){
						$age = 'років';
				}else{
					$age = 'років';
				}
			}
			echo '<div id="form2">
				<p id="text" align="center">
					І так. Мене звуть 
					'.$_REQUEST['lastname'].' 
					'.$_REQUEST['firstname'].'<br>
					я 
					'.$state.' 
					і мені 
					'.$amount.' '.$age.'.<br>
					Мій логін 
					'.$_REQUEST['login'].' 
					пароль 
					'.$_REQUEST['password'].',<br>
					я працю 
					'.$_REQUEST['job'].' 
					і я 
					'.$_REQUEST['o_sebe'].'.<br>
					</div>		
				</p>
			</div>';
		}
			?>
		</div>
		<div id="block2">
        	<span id="text_red">Методи Get і Post:</span><br>
			<form aciton="index.php" method="post" align="center">
				<input type="text" name="firstname2" value="">
				<input type="submit" name="botton" value="Відправити" id="label_form">
			</form><br>
			<?php
				print_r ($_POST); // витягуэ масив данних з форми методом POST
				//echo $_GET; // витягуэ масив данних з форми методом GET
			?>
        </div>
		<div id="block2" style="overflow:auto;">
        	<span id="text_red">Глобальні методи, змінні та масиви:</span><br>
			<?php
				$ip = $_SERVER['REMOTE_ADDR']; // Виводить IP посітітєля
				echo 'IP посітітєля'.$ip.'<br><pre align="left">';
				print_r ($_SERVER);
				echo '</pre>';
			?>
        </div>
		<div id="block2">
        	<span id="text_red">Функції exit() і die():</span><br>
			<?php
				echo 'Функції exit() і die() завершуєть роботу всіх скріптів які після функції';
				//exit(); // Завершуэ всі скріпти php які після функції
				//die(); // Завершуэ всі скріпти php які після функції
			?>
        </div>
		<div id="block2">
        	<span id="text_red">Функції роботи з часом:</span><br>
			<?php
				$time = time();
				$date = date('H:i:s d.m.Y');
				echo 'Час '.$date.'<br>';
				echo 'Час від започаткування Unix в секундах'.$time.'<br>';
			?>
        </div>
		<div id="block2">
        	<span id="text_red">Функції роботи з файлами:</span><br>
			<?php
				$file = file_get_contents('text.txt');
				$file_masiv = file('text.txt');
				echo 'Функція file_get_content() яка виводить вміст файла<br>'.$file.'<br>';
				print_r ($file_masiv);
				if(file_exists('text.txt')){
					echo '<br>Файл існує';
				}else{
					echo '<br>Файл не існує';
				}
				function file_func(){
					$fp = fopen('text.txt','r');
					$s = fread($fp,20);
					echo '<br>'.$s;
					fclose($fp);
				}
				file_func();
				echo '<br><br>';
				//phpinfo(); //Функція яка виводить інформацію про php
				define('MY_AGE',21); // контстанта це майже таж сама змінна але її не можна перепризначати
				echo MY_AGE;
			?>
        </div>
    </body>
</html>